In recent years, digital cameras (image sensing devices) which can sense an image and can convert the sensed image into digital image data by a simple operation have been popularly used. When an image sensed by such camera is printed and is used as a photograph, it is a common practice to temporarily download the sensed digital image data from a digital camera to a PC (computer), to execute an image process by that PC, and to output the processed image data from the PC to a color printer, thus printing an image.
By contrast, a color print system which allows a digital camera to directly transfer digital image data to a color printer without the intervention of any PC and can print it out (to be referred to as a direct print process hereinafter), a so-called photo-direct (PD) printer which can receive a memory card, which is mounted on a digital camera and stores sensed images, and can print sensed images, and the like have recently been developed (see Japanese Patent Laid-Open No. 2003-061034).
Such direct print process is originally a model-dependent print function that can be implemented between a camera and printer of an identical manufacturer. However, in recent years, the standardization in these industries has progressed, and an environment that allows a direct print process by connecting a camera and printer of different manufacturers irrespective of manufacturers has been created. For example, a standard called PictBridge which is officially published from CIPA is a typical one that allows a direct print process even when a camera and printer of different manufacturers are connected.
Also, print functions that can be implemented by the direct print process have been diversified year by year. As such print functions, not only a print function that simply prints a single image sensed by a digital camera on a single print medium like a conventional silver halide photograph, but also a print function that prints a plurality of images on a single print medium (to be referred to as a layout print process hereinafter), and the like can be easily done according to the user's favor.
Also, since image information obtained by a digital camera is digital data, various print functions that utilize features of such digital data have been proposed. For example, a function (overlay print) that is not a simple layout print process but overlays and prints a plurality of image data is considered as one of functions which will be frequently used in the future. Of such overlay print mode, a print function that selects one image as a background image, and overlays another image on that background image to print them as if two images were printed as a single image (to be referred to as a frame print process hereinafter) is expected to be implemented by the direct print process soon.
In this case, a background image may be a natural image. For example, a frame print process that uses an image, which includes text information such as a greeting message, the address of a new house, and the like in case of a greeting card after a wedding, as a background image (an image to be set as a background will be referred to an Info image hereinafter), and overlays and prints a newly wed's image (to be referred to as a Target image hereinafter) on that Info image is required to be implemented by the direct print process. Note that the text information of the Info image may be saved as character codes such as ASCII codes or the like. However, for example, the Info image may be an image file such as a JPEG Image or the like by handling text as image information.
Although the environment of the standardization of the interface specifications and multi-functions of the direct print process is in order, at least one of a device that supplies image data and an image output device that receives the image data and prints it must recognize functions (to be referred to as capability data hereinafter) of the other, so as to implement a manufacturer-independent direct print process set up by the direct print process using PictBridge. If the user executes a direct print process by operating the interface of the camera, the camera must acquire capability data of a printer used to print an image. To this end, commands required to exchange capability data between the camera and printer must be defined, the communication specifications of these commands must be defined, and commands must be exchanged according to the communication specifications. In this way, each other's functions are recognized by parsing the commands, and a print command (to be referred to as a print job hereinafter) according to a print instruction from the user must be appropriately generated in accordance with the capability data of the printer. That is, the camera must be designed to be able to generate a plurality of print jobs in correspondence with the capability data of printers, thus imposing a heavy load on the camera.
Since a direct print process between models of an identical manufacturer need only be executed by rules specified in advance by the manufacturer, it is easy to reduce the aforementioned load. By sufficiently repeating connection tests before delivery of products, it is also easy to confirm if all functions operate without problems before bringing products to the market. However, in order to guarantee connections with many unspecified devices according to the aforementioned standardization, bylaws must be set in detail, and the reliability of connection between devices which meet for the first time in the market must be guaranteed while confirming if the bylaws are satisfied. In such situation, a heavy load is generated to implement an identical function, and a heavier load may be generated to implement advanced functions.
Practical problems will be explained below taking the layout and frame print processes as an example.
For example, a case will be examined below wherein [JPEG image of wedding greeting message] is used as an Info image, [photograph image of newly wed] is used as a Target image, and these Info and Target images are to be printed on a sheet such as a postcard. In such case, the Info and Target images preferably undergo a frame print process together to obtain a fine image. However, if a printer does not support a frame print function, but supports a layout print function, it is significant to execute a layout print process that prints these Info and Target images on a single sheet (to be referred to as a 2-Up process hereinafter). That is, since the Info and Target images in this case are associated with each other, if they are printed on independent sheets, they become insignificant images. Especially, when images to be printed are not only these two images but also a plurality of images stored in a memory of a camera, it is significant that associated images are printed on a single sheet.
Upon executing the direct print process, the camera must confirm using a command that inquires capability data of a printer if that printer has a layout print function and frame print function. If the printer has the frame print function, the camera must send inquiries concerning various capability data such as a method of specifying Info and Target images, the number of Info images that can be used in the frame print process if a plurality of Info images must be set, and so forth, and must parse exchanged data to determine functions of the printer. Then, the camera must specify functions that can be and cannot be executed by that printer, and must generate a print job which can execute an appropriate print process according to the specified result. For example, the camera must generate different print jobs depending on functions supported by the printer (e.g., the layout print function only, both the layout and frame print functions, or the frame print function only), and must send them to the printer.
Although a further detailed explanation will be omitted, if other additional functions, which are not described here, are available, the camera must have a function of generating a print job in consideration of combinations with these functions. If the camera sends a command premised on the frame print function to the printer that does not support the frame print function, the printer cannot interpret the received print job. In a general communication specification, such communication specification that cannot be interpreted is ignored. Hence, no print process is executed consequently. Or depending on the specification of the print job or the printer, an image that the user did not intend may be printed according to information that can be interpreted only half way.
In the frame print process, most of loads required to attain the frame print process are imposed on the printer. Hence, in a conventional system that executes the direct print process by connecting a camera and printer of an identical manufacturer, the camera need only pass information that specifies images to be printed selected by the user, and additional function information that specifies a layout or frame print function to the printer in most cases. However, in the direct print process of the standard specification, since an unspecified camera and printer are connected for the first time in the market to execute the direct print process, a larger number of information than the conventional communication sequence must be exchanged. As a result, since the communication load becomes heavier, and the program size increases, the camera may consequently cease to support these complicated functions. When this happens, although the user has a printer with advanced additional functions such as a frame print function and the like, since cameras that support such advanced additional functions do not prevail, the functions of the printer cannot be used.